Field of the Invention
The present invention generally relates to data connectors, and, more specifically, to a system and method for managing state transitions of a data connector.
Description of the Related Art
A typical data connector, such as a peripheral component interface (PCI) or PCI express (PCIe), allows different processing units within a computer system to exchange data with one another. For example, a conventional computer system could include a central processing unit (CPU) that exchanges data with a graphics processing unit (GPU) across a PCIe bus.
A processing unit coupled to the data connector, such as the GPU in the example above, usually includes a hardwired finite state machine (FSM) that manages the different operating states of the data connector. This FSM is responsible for training the data connector between those different operating states. The operating states could be, for example, a nominal operating state, an error recovery state, an “off” state, and so forth, as is known in the art. When the processing unit needs to change the operating state of the data connector to a new operating state, the FSM is notified of the required change. The FSM then initiates one or more state transitions in order to train the data connector to the new operating state.
The sequence of state transitions required to effect certain changes is defined in a communication protocol associated with the data connector. In order to comply with the communication protocol, a manufacturer of the processing unit designs the FSM within that processing unit to train the data connector between different operating states according to the precise requirements of that protocol.
One problem with such an arrangement is that any flaws in the design of the FSM, as defined in the communication protocol, are propagated into the design of the logic that implements the FSM within the processing unit. Further, since the FSM is hardwired, a designer of the processing unit cannot correct those flaws after the processing unit is fabricated. Shipping a product with known flaws is unacceptable in most circumstances.
Accordingly, what is needed in the art is a more effective technique for managing state transitions associated with a data connector.